package com.pshcp.domain.model;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import java.util.Date;
import java.io.Serializable;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 患者就诊人表
 * </p>
 *
 * @author auto generator
 * @since 2022-11-02
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table(name = "t_patient")
public class Patient implements Serializable {

    private static final long serialVersionUID=1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private Long patientUserId;

    private String hisPatientId;

    /**
     * 与本人关系
     */
    private Integer relationType;

    /**
     * 卡类型 0门诊卡 1住院卡 2病历卡(如果医院只支持一种卡,该字段值可以不填)
     */
    private Integer patientCardType;

    /**
     * 卡号
     */
    private String patientCardNo;

    private String name;

    /**
     * 证件类型
     */
    private Integer idCardType;

    /**
     * 证件号
     */
    private String idCardNo;

    /**
     * 患者手机号
     */
    private String phone;

    /**
     * 0女1男
     */
    private Integer sex;

    /**
     * 出生日期
     */
    private Date birthday;

    /**
     * 现住址
     */
    private String currentAddr;

    /**
     * 现住址邮编
     */
    private String postNo;

    /**
     * 婚姻状况
     */
    private Integer maritalStatus;

    /**
     * 民族
     */
    private String folk;

    /**
     * 职业
     */
    private String occupation;

    /**
     * 工作单位
     */
    private String workUnit;

    /**
     * 工作单位地址
     */
    private String workUnitAddr;

    /**
     * 工作单位电话
     */
    private String workUnitPhone;

    /**
     * 户口地址
     */
    private String registeredAddress;
    /**
     * 户口详情地址
     */
    private String registeredAddressDetail;
    /**
     * 出生地址
     */
    private String birthPlace;

    /**
     * 籍贯 XX省XX市
     */
    private String nativePlace;

    /**
     * 国籍
     */
    private String nationality;

    /**
     * 联系人姓名
     */
    private String contactsName;

    /**
     * 联系人身份证号
     */
    private String contactsIdCardNo;

    /**
     * 联系人手机号
     */
    private String contactsPhoneNo;

    /**
     * 联系人详细地址
     */
    private String contactsAddr;

    /**
     * 患者与联系人关系
     */
    private String contactsRelationship;
    /**
     * 默认就诊人0否1是
     */
    private Integer isDefault;

    /**
     * 获知渠道 1、网络2、电话咨询3、电视4、广告5熟人介绍6医院介绍7、114查询8新媒体9其他(直接传HIS码表,无需做对照)
     */
    private Integer learnChannel;

    /**
     * 窗口人员是否已审核 Y已审核，N未审核
     */
    private String hasReviewed;

    /**
     * 预约号
     */
    private String bookNo;

    /**
     * 是否专程来京0否1是
     */
    private Integer onlyBeijing;

    /**
     * 状态 0正常 1删除
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    private Date lastHandleTime;
}
